The present invention relates to management of hardware components in a computer system architecture, and particularly to selectively enabling and disabling hardware features of hardware components in a computer system architecture.
In native IBM computer z/architecture using the IBM z/OS or other IBM operating systems (OSs), I/O operations are complex and require logic to be applied to the data to locate it on storage devices such as direct access storage devices (DASDs), to block and unblock access to the data, and to provide other similar functions via hardware features of hardware components in the computer architecture.
Conventionally, software operating in a computer system architecture exploits all hardware features of various hardware components in the computer system architecture upon the features becoming available. For example, IO Drivers typically build I/O channel programs (a sequence of read and write requests) based on the capabilities of the hardware. In most instances, this capability-based hardware feature enablement ensures ease of access to all available hardware features and full functionality of all hardware components across the computer system architecture.
However, in some instances, it may be disadvantageous to enable all hardware features of the hardware components forming a computer system architecture. For example, hardware features may be characterized as unreliable, unstable, undesirable or even unnecessary for certain applications. Similarly, software error recovery procedures designed to handle new hardware features may not perform properly, and/or may introduce additional errors impeding the use of particular hardware features. As a result, a user may wish to exclude suspect hardware features from operating within the computer system architecture in order to avoid such problems while retaining all remaining functionality available to the computer system architecture.
Currently, a user or system administrator may address the aforementioned problems by disabling or enabling all hardware features across the entire computer system architecture. However, this approach requires the entire system to be taken offline in order to disable even a single hardware feature, resulting in undesirable loss of available resources. There is no ability to selectively enable or disable individual hardware features for one or more of the hardware components while retaining all remaining functionality available to the computer system architecture.
Alternatively, users may install new microcode to the hardware components in an attempt to address the issue, but this process also requires significant and undesirable downtime while the microcode is installed for the computer system architecture.
Accordingly, in order to provide more robust computer system architecture operation and improve availability of hardware features across a computer system architecture despite one or more malfunctioning hardware components and/or features, it would be beneficial to develop and disclose systems, methods and computer program products for selectively enabling and/or disabling individual hardware features of a computer system architecture without needing to enable or disable all hardware features available to the entire computer system architecture.